import { ref } from "vue";
import { useStore } from "vuex";
import {useGetTaskRecordBySender} from "@/api/getTaskRecordsBySender";
/**
 * 完善个人信息请求
 * @returns { handleCompleteInfo, formData, isLoading }
 */
export function useTaskInfoUpload(serviceData, goToMyTask) {

    const isLoading = ref(false); // 加载状态

    const store = useStore(); // 获取 Vuex Store 实例
    const { handleGetTaskRecordBySender } = useGetTaskRecordBySender();
    // 处理完善个人信息
    const handleUploadTaskInfo = async () => {
        isLoading.value = true; // 设置加载状态为 true

        try {
            // 调用 Vuex 中的 updateTaskInfo action
            const response = await store.dispatch("updateTaskInfo", serviceData.value);
            if (response.success){
                await handleGetTaskRecordBySender();
                goToMyTask.value = true;
            }
            else {
                alert(response.message || "任务发布失败");
            }
        } catch (error) {
            console.error("发布失败:", error);
            alert("任务发布失败，请检查网络或稍后再试");
        } finally {
            isLoading.value = false; // 重置加载状态
        }
    };

    // 返回封装的响应式变量和方法
    return {
        handleUploadTaskInfo,
        isLoading,
    };
}
